<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Search Engine: AVLTree&lt; Key, Val &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Search Engine
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_a_v_l_tree-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AVLTree&lt; Key, Val &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_a_v_l_tree_8h_source.html">AVLTree.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afdbb495f401322b412407e8eab6a588c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#afdbb495f401322b412407e8eab6a588c">AVLTree</a> ()</td></tr>
<tr class="separator:afdbb495f401322b412407e8eab6a588c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae10c9d12f9c6aee8527c2d76128c1dc3"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#ae10c9d12f9c6aee8527c2d76128c1dc3">~AVLTree</a> (void)</td></tr>
<tr class="separator:ae10c9d12f9c6aee8527c2d76128c1dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51f292a4ddb380da95bd942e8196d403"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a51f292a4ddb380da95bd942e8196d403">reset</a> ()</td></tr>
<tr class="separator:a51f292a4ddb380da95bd942e8196d403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedac89eccd0e484236241caaa41bc550"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#aedac89eccd0e484236241caaa41bc550">balanceNode_</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *parent_node)</td></tr>
<tr class="separator:aedac89eccd0e484236241caaa41bc550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38586de68268d2fc1c140f429c79e27c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a38586de68268d2fc1c140f429c79e27c">remove</a> (const Key &amp;key)</td></tr>
<tr class="separator:a38586de68268d2fc1c140f429c79e27c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0466befb48da84f5676d19e7502c7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#aec0466befb48da84f5676d19e7502c7b">getLeftMostNode</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node) const </td></tr>
<tr class="separator:aec0466befb48da84f5676d19e7502c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9ab51b5b410f110091946b786c24ace"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#af9ab51b5b410f110091946b786c24ace">dumpMap_</a> (const std::string &amp;sName)</td></tr>
<tr class="separator:af9ab51b5b410f110091946b786c24ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af900bd65b9efc1e2e228d6a42af93fba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#af900bd65b9efc1e2e228d6a42af93fba">outputInvertedIndex</a> (ofstream &amp;ofs)</td></tr>
<tr class="separator:af900bd65b9efc1e2e228d6a42af93fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5410cc28c4e64dc7ad0a251440a167c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a5410cc28c4e64dc7ad0a251440a167c7">insert</a> (const Key &amp;key, const Val &amp;val)</td></tr>
<tr class="separator:a5410cc28c4e64dc7ad0a251440a167c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2550dd13b2ec3c2ce627a89ea058621b"><td class="memItemLeft" align="right" valign="top">Val&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a2550dd13b2ec3c2ce627a89ea058621b">search</a> (const Key &amp;key) const </td></tr>
<tr class="separator:a2550dd13b2ec3c2ce627a89ea058621b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af59dd15f1a0a32faf4b837e41ceddd60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#af59dd15f1a0a32faf4b837e41ceddd60">contains</a> (const Key &amp;key) const </td></tr>
<tr class="separator:af59dd15f1a0a32faf4b837e41ceddd60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd5ac7484c414558534a6a5c893ff70e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#acd5ac7484c414558534a6a5c893ff70e">getSize</a> () const </td></tr>
<tr class="separator:acd5ac7484c414558534a6a5c893ff70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a451ec32616485c7963914a7701671e57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a451ec32616485c7963914a7701671e57">root_node</a></td></tr>
<tr class="separator:a451ec32616485c7963914a7701671e57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9799c7e81d5f291885e2622d31d5b19"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#ad9799c7e81d5f291885e2622d31d5b19">size</a></td></tr>
<tr class="separator:ad9799c7e81d5f291885e2622d31d5b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa998839d84cc3637cfa4314bea241771"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#aa998839d84cc3637cfa4314bea241771">doBalancing</a></td></tr>
<tr class="separator:aa998839d84cc3637cfa4314bea241771"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a6455f1012c30b05bbce7c1323e6574dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a6455f1012c30b05bbce7c1323e6574dd">getNode</a> (const Key &amp;key) const </td></tr>
<tr class="separator:a6455f1012c30b05bbce7c1323e6574dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb862a3bf7c28ae5c048b561b353d434"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#aeb862a3bf7c28ae5c048b561b353d434">newNode_</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *parent, const Key &amp;key, const Val &amp;val)</td></tr>
<tr class="separator:aeb862a3bf7c28ae5c048b561b353d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ed908dbbc4ba203c0d2d7a3057bde1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#ab4ed908dbbc4ba203c0d2d7a3057bde1">propagate_max_children_size</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *notified_node, <a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *sender_node, int child_maxsize, bool is_deletion)</td></tr>
<tr class="separator:ab4ed908dbbc4ba203c0d2d7a3057bde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3af39494f132a7e79a23189b677a90b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a3af39494f132a7e79a23189b677a90b9">getBalance_</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node) const </td></tr>
<tr class="separator:a3af39494f132a7e79a23189b677a90b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb101a9f4c2f897241892f7977821742"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#acb101a9f4c2f897241892f7977821742">getMaxChildrenSize_</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node) const </td></tr>
<tr class="separator:acb101a9f4c2f897241892f7977821742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4576d0bd2613d687fb473c228f18994c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a4576d0bd2613d687fb473c228f18994c">removeNode_</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node)</td></tr>
<tr class="separator:a4576d0bd2613d687fb473c228f18994c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59ae9495ddd1f41913be99655a46ceb4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a59ae9495ddd1f41913be99655a46ceb4">setBalancing</a> (bool mode)</td></tr>
<tr class="separator:a59ae9495ddd1f41913be99655a46ceb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a304ac90219fd9c546d12cbdfdbba0aa2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a304ac90219fd9c546d12cbdfdbba0aa2">srr</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node)</td></tr>
<tr class="separator:a304ac90219fd9c546d12cbdfdbba0aa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef78b6448d8904f919aebbd85ff64b72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#aef78b6448d8904f919aebbd85ff64b72">slr</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *node)</td></tr>
<tr class="separator:aef78b6448d8904f919aebbd85ff64b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ac81bada2872487432c49bdeefb445"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#af1ac81bada2872487432c49bdeefb445">createNode</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *pCurr, std::ostream &amp;ssOut)</td></tr>
<tr class="separator:af1ac81bada2872487432c49bdeefb445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33bbe6bc4a4b5bf3ef1d3bc006071684"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a33bbe6bc4a4b5bf3ef1d3bc006071684">createInvertedIndexNode</a> (<a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *pCurr, std::ostream &amp;ssOut)</td></tr>
<tr class="separator:a33bbe6bc4a4b5bf3ef1d3bc006071684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad888a79615197506e6323d2fbcf588a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#ad888a79615197506e6323d2fbcf588a1">drawNode_</a> (std::ofstream &amp;fsOut, <a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *pCurr)</td></tr>
<tr class="separator:ad888a79615197506e6323d2fbcf588a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77a559c5902727a852b1d311794a5240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_l_tree.html#a77a559c5902727a852b1d311794a5240">outputInvertedNode_</a> (std::ofstream &amp;fsOut, <a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *pCurr)</td></tr>
<tr class="separator:a77a559c5902727a852b1d311794a5240"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afdbb495f401322b412407e8eab6a588c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::<a class="el" href="class_a_v_l_tree.html">AVLTree</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae10c9d12f9c6aee8527c2d76128c1dc3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::~<a class="el" href="class_a_v_l_tree.html">AVLTree</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Tree destructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aedac89eccd0e484236241caaa41bc550"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::balanceNode_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>parent_node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>balance a node, invoke rotations on demand. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parent_node</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="af59dd15f1a0a32faf4b837e41ceddd60"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::contains </td>
          <td>(</td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Check if a key exists in the tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if it exists, false otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a33bbe6bc4a4b5bf3ef1d3bc006071684"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::createInvertedIndexNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>pCurr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>ssOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>create a node string representation </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pCurr</td><td></td></tr>
    <tr><td class="paramname">ssOut</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af1ac81bada2872487432c49bdeefb445"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::createNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>pCurr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>ssOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>create a node string representation </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pCurr</td><td></td></tr>
    <tr><td class="paramname">ssOut</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad888a79615197506e6323d2fbcf588a1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::drawNode_ </td>
          <td>(</td>
          <td class="paramtype">std::ofstream &amp;&#160;</td>
          <td class="paramname"><em>fsOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>pCurr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>draw a single node for dotty output </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fsOut</td><td></td></tr>
    <tr><td class="paramname">pCurr</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af9ab51b5b410f110091946b786c24ace"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::dumpMap_ </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>sName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>dump the map into dotty format </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sName</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3af39494f132a7e79a23189b677a90b9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::getBalance_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returns the balance for a given avl node </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="aec0466befb48da84f5676d19e7502c7b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a>* <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::getLeftMostNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Retrieve left most child </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ptr to AVLNode of current node </dd></dl>

</div>
</div>
<a class="anchor" id="acb101a9f4c2f897241892f7977821742"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::getMaxChildrenSize_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returns the max children size </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a6455f1012c30b05bbce7c1323e6574dd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a>* <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::getNode </td>
          <td>(</td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a key out of the AVL Tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="acd5ac7484c414558534a6a5c893ff70e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::getSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the size of the tree </p>
<dl class="section return"><dt>Returns</dt><dd>size as int </dd></dl>

</div>
</div>
<a class="anchor" id="a5410cc28c4e64dc7ad0a251440a167c7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::insert </td>
          <td>(</td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Val &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Insert an element into the tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramname">val</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aeb862a3bf7c28ae5c048b561b353d434"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a>* <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::newNode_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Val &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a new node (helper) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parent</td><td></td></tr>
    <tr><td class="paramname">key</td><td></td></tr>
    <tr><td class="paramname">val</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ptr to new Node </dd></dl>

</div>
</div>
<a class="anchor" id="af900bd65b9efc1e2e228d6a42af93fba"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::outputInvertedIndex </td>
          <td>(</td>
          <td class="paramtype">ofstream &amp;&#160;</td>
          <td class="paramname"><em>ofs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>dump the map into dotty format </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sName</td><td>filename </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a77a559c5902727a852b1d311794a5240"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::outputInvertedNode_ </td>
          <td>(</td>
          <td class="paramtype">std::ofstream &amp;&#160;</td>
          <td class="paramname"><em>fsOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>pCurr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>draw a single node for persistent inverted file index </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fsOut</td><td></td></tr>
    <tr><td class="paramname">pCurr</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab4ed908dbbc4ba203c0d2d7a3057bde1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::propagate_max_children_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>notified_node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>sender_node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>child_maxsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_deletion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Propagates new max children size to parents, does balancing on demand. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">notified_node</td><td></td></tr>
    <tr><td class="paramname">sender_node</td><td></td></tr>
    <tr><td class="paramname">child_maxsize</td><td></td></tr>
    <tr><td class="paramname">is_deletion</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a38586de68268d2fc1c140f429c79e27c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::remove </td>
          <td>(</td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Remove an entry from the tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4576d0bd2613d687fb473c228f18994c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::removeNode_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>remove Node and all of its children, deallocate memory, unlink the parents pointers (setting it to 0) and child count. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a51f292a4ddb380da95bd942e8196d403"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Clear the tree </p>

</div>
</div>
<a class="anchor" id="a2550dd13b2ec3c2ce627a89ea058621b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Val <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::search </td>
          <td>(</td>
          <td class="paramtype">const Key &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a key out of the AVL Tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a59ae9495ddd1f41913be99655a46ceb4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::setBalancing </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>set tree balancing mode (useful for debugging purposes) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aef78b6448d8904f919aebbd85ff64b72"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::slr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Single left rotate </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a304ac90219fd9c546d12cbdfdbba0aa2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::srr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Single right rotate </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa998839d84cc3637cfa4314bea241771"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::doBalancing</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a451ec32616485c7963914a7701671e57"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_v_l_tree_1_1_avl_node.html">AvlNode</a>* <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::root_node</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad9799c7e81d5f291885e2622d31d5b19"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Key, typename Val&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_a_v_l_tree.html">AVLTree</a>&lt; Key, Val &gt;::size</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>C:/Users/Christopher/Documents/NetBeansProjects/pbsearch/SearchEngine/<a class="el" href="_a_v_l_tree_8h_source.html">AVLTree.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 3 2012 01:21:31 for Search Engine by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>
